package com.yuanshi.food.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;

/**
 * 商品表（存储商品基础信息）
 * @TableName product
 */
@TableName(value ="product")
@Data
public class Product {
    /**
     * 商品ID（主键）
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 业务标识（固定42位字符串）
     */
    @TableField(value = "biz_code")
    private String bizCode;

    /**
     * 分类ID（关联product_category.id，手册“外键关联”要求）
     */
    @TableField(value = "category_id")
    private Long categoryId;

    /**
     * 商品名称（含规格简要描述，如“鸡胸肉沙拉”）
     */
    @TableField(value = "product_name")
    private String productName;

    /**
     * 商品描述（限1024字符，避免冗余）
     */
    @TableField(value = "product_desc")
    private String productDesc;

    /**
     * 商品主图URL（支持多图，用逗号分隔）
     */
    @TableField(value = "product_img")
    private String productImg;

    /**
     * 营养成分（JSON格式：{"calorie":350,"protein":12.5}，手册“复杂数据JSON化”要求）
     */
    @TableField(value = "nutrient_json")
    private String nutrientJson;

    /**
     * 商品状态：1-在售，2-下架，3-售罄（枚举化状态管理）
     */
    @TableField(value = "product_status")
    private Object productStatus;

    /**
     * 逻辑删除：0-未删除，1-已删除
     */
    @TableField(value = "is_deleted")
    private Integer isDeleted;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;
}